package com.freedom.common.core.constant;

import java.util.Arrays;
import java.util.List;

public interface SecurityConstants {


    /**
     * JWT载体key
     */
    String JWT_PAYLOAD_KEY = "payload";

    /**
     * JWT ID 唯一标识
     */
    String JWT_JTI = "jti";

    /**
     * JWT ID 唯一标识
     */
    String JWT_EXP = "exp";

    /**
     * 黑名单token前缀
     */
    String TOKEN_BLACKLIST_KEY = "auth:token:blacklist:%s";







    String MEMBER_ID_KEY = "memberId";


    String USER_TYPE_KEY = "userType";

    String STORE_ID_KEY = "storeId";



    String MOBILE_KEY = "mobile";

    String MOBILE_CODE = "code";

    String MOBILE_CODE_TYPE = "codeType";

    String CLIENT_ID_KEY = "client_id";




    String REFRESH_TOKEN_KEY = "refresh_token";



    /**
     * 验证码key前缀
     */
    String VALIDATION_CODE_KEY_PREFIX = "CAPTCHA:";

    /**
     * 短信验证码key前缀
     */
    String SMS_CODE_PREFIX = "SMS_CODE:%s";

    /**
     * 接口文档 Knife4j 测试客户端ID
     */
    String TEST_CLIENT_ID = "client";



    /**
     * 线上环境放行的请求路径
     */
    List<String> PROD_PERMIT_PATHS= Arrays.asList("/freedom-lab","/app-api","/freedom-auth/oauth/logout");

    /**
     * 线上环境禁止的请求路径
     */
    List<String> PROD_FORBID_PATHS= Arrays.asList("/freedom-admin/api/v1/menus","/freedom-pms/api");

    /**
     * 线上环境禁止方法
     */
    List<String> PROD_FORBID_METHODS= Arrays.asList("PUT","DELETE");


}
